'use strict'
function isType(param, type) {
    switch (type) {
        case 'string': 
        case 'number':
        case 'boolean': 
            if(typeof(param) == type) {
                return true;
            }else {
                return false;
            }
        break;
        case 'array':
            if(param instanceof Array) {
                return true;
            }else {
                return false;
            }
        break;
        case 'object':
        if(param instanceof Object) {
            return true;
        }else {
            return false;
        }
        break;
    }
}

module.exports = function (req, res, next) {
        //成功输出
        res.success = function (msg, data) {
            res.json({statu: 200, data: data, msg: msg})
        }
    
        //错误输出
        res.error = function (msg) {
            res.json({statu: 400, data:{}, msg: msg})
        }
    
        //数据验证
        req.post = function (param) {
            // for(let i = 0; i < param.length; i++) {
            //     if(!isType(req.body[param[i].split('|')[0]], param[i].split('|')[1])) {
            //         res.error(param[i].split('|')[0]+'类型错误, 期望是'+param[i].split('|')[1]);
            //     }
            // }
            return req.body;
        };
        req.gets = function (param) {
            // for(let i = 0; i < param.length; i++) {
            //     if(!isType(req.query[param[i].split('|')[0]], param[i].split('|')[1])) {
            //         res.error(param[i].split('|')[0]+'类型错误, 期望是'+param[i].split('|')[1]);
            //     }
            // }
            return req.query;
        };
        req.put = function () {
            // for(let i = 0; i < param.length; i++) {
            //     if(!isType(req.body[param[i].split('|')[0]], param[i].split('|')[1])) {
            //         res.error(param[i].split('|')[0]+'类型错误, 期望是'+param[i].split('|')[1]);
            //     }
            // }
            return req.body;
        };
        req.delete = function () {
            // for(let i = 0; i < param.length; i++) {
            //     if(!isType(req.params[param[i].split('|')[0]], param[i].split('|')[1])) {
            //         res.error(param[i].split('|')[0]+'类型错误, 期望是'+param[i].split('|')[1]);
            //     }
            // }
            return req.params;
        };
        next();
}